package com.example.service;

import com.example.domain.dto.LoginRequest;
import com.example.domain.dto.LoginResponse;
import com.example.domain.response.HttpResponse;

import java.util.List;

/**
 * 认证服务接口，提供用户登录和获取访问码的功能
 */
public interface AuthService {

    /**
     * 用户登录方法
     *
     * @param request 登录请求对象，包含用户登录所需的信息，如用户名和密码
     * @return 登录响应对象，包含登录结果和可能的错误信息
     */
    HttpResponse<LoginResponse> login(LoginRequest request);

    /**
     * 获取访问码列表
     *
     * @return 包含访问码字符串列表的响应对象
     */
    HttpResponse<List<String>> getAccessCodes();
}
